/**
 * 
 */
package edu.umd.clip.smoothing;

/**
 * @author Denis Filimonov <den@cs.umd.edu>
 *
 */
public abstract class Smoother {
	protected final int minCount;
	protected final long totalCount;
	
	protected Smoother(SmootherProducer producer) {
		this.minCount = producer.getMinCount();
		this.totalCount = producer.getTotalCount();
	}
	
	public abstract double getProb(long count);
	public abstract double getBackoffProb();
	
	public long getTotalCount() {
		return totalCount;
	}
	
	public int getMinCount() {
		return minCount;
	}
}
